import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'

import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'


// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),

    // 以下两项是为配置Element-plus自动按需导入
    AutoImport({
      imports: ["vue", "vue-router","pinia"],
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  server:{
    host:'0.0.0.0',// 配置localhost、本机IP地址
    port : 5927, // 端口号
    hmr: true, // 热更新
    open:true, // 自动打开
    proxy:{ // 代理跨域
      '/dev-api':{
        target:'http://localhost:8888',
        ws:true,
        changeOrigin:true,
        rewrite:{
          '^/dev-api': ''   //本身的接口地址没有 '/api' 这种通用前缀，所以要rewrite，如果本身有则去掉 
        }  
      },
      '/pro-api':{
        target:'http://localhost:8888',
        ws:true,
        changeOrigin:true,
        rewrite:{
          '^/pro-api': ''   //本身的接口地址没有 '/api' 这种通用前缀，所以要rewrite，如果本身有则去掉 
        }  
      },
      '/test-api':{
        target:'http://localhost:8888',
        ws:true,
        changeOrigin:true,
        rewrite:{
          '^/test-api': ''   //本身的接口地址没有 '/api' 这种通用前缀，所以要rewrite，如果本身有则去掉 
        }  
      }
      // [env.VITE_WEB_BASE_API]: {
      //   // 配置哪个环境下的
      //   target: env.VITE_SERVER_BASE_URL,
      //   rewrite: path => path.replace(new RegExp("^" + env.VITE_WEB_BASE_API), ""), // 路径重写，例如：将路径中包含dev-api字段替换为空。注意：只有请求真实后端接口才会有用，使用mock接口还是得带koi
      //   // 允许跨域
      //   changeOrigin: true
      // }

    }
  }
})
